package com.yhao.stocknew.common.utils;

import cn.hutool.db.Db;
import cn.hutool.db.DbUtil;
import cn.hutool.db.ds.simple.SimpleDataSource;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @author : yhao
 * @Date : 2023/12/5 - 7:34
 * @Desc : TODO
 */
public class JdbcUtil {

    public static SimpleDataSource getDS() {
        return new SimpleDataSource("jdbc:mysql://39.105.149.147:3306/stock?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false", "root", "haoserver121231");
    }

    public static Db getDb() {
        return DbUtil.use(getDS());
    }

    /**
     * 关闭数据库相关资源
     *
     * @param conn 数据库连接对象
     * @param ps   sql语句执行对象
     * @param rs   查询结果集
     */
    public static void close(Connection conn, PreparedStatement ps, ResultSet rs) {
        try {
            if (conn != null) conn.close();
            if (ps != null) ps.close();
            if (rs != null) rs.close();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 关闭数据库相关资源
     *
     * @param conn 数据库连接对象
     * @param ps   sql语句执行对象
     */
    public static void close(Connection conn, PreparedStatement ps) {
        close(conn, ps, null);
    }

    /**
     * 关闭数据库相关资源
     *
     * @param conn 数据库连接对象
     * @param rs   查询结果集
     */
    public static void close(Connection conn, ResultSet rs) {
        close(conn, null, rs);
    }


}
